The transfer of data is an important aspect of any integrated circuit device. While data may be transferred between integrated circuit devices, one important aspect of any integrated circuit device is the efficient transfer of data within an integrated circuit. As integrated circuits continue to evolve, the number of voltage and frequency domains is rapidly increasing. With a greater number of voltages and frequency domains, additional circuits must be implemented to accommodate the voltages and frequency domains. More complex timing control circuits are also required to enable the operation of circuits implemented in the various frequency domains.
In devices having programmable resources, a significant amount of interconnects is required for programmability. Further, conventional integrated circuit devices which enable synchronous communication have high area overhead to provide the necessary clock signals. Such clocking structures also require circuits to account for skew in the communication of data over various paths in the circuit. Because errors in data transmission must be eliminated or at least maintained within some acceptable level, it is necessary to allow addition time for the transfer of data to ensure that the data is properly transferred. Accordingly, conventional integrated circuit devices have considerable drawbacks associated with the transfer of data.